package com.xq.controller.admin.newscategory.newscategory;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xq.entity.NewsCategory;
import com.xq.service.newscategory.INewsCategoryService;
import lombok.extern.slf4j.Slf4j;
import com.xq.vo.NewsCategoryVo;
import com.xq.ex.commom.err.ValidationException;
import org.apache.commons.lang.StringUtils;
import org.springframework.ui.ModelMap;
import org.springframework.stereotype.Controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 新闻分类管理
 * NewsCategoryController
 ***************************************
 * 更多精彩B站搜索: 学相伴飞哥
 * 资料下载学习平台：https://www.kuangstudy.com
 * 创世神B站：https://space.bilibili.com/490711252
 ***************************************
 * 创建人:yykk
 * 创建时间：2021年09月15日 16:03:03
 * @version 1.0.0
*/
@Controller
@RequestMapping("/admin/newscategory")
@Slf4j
public class NewsCategoryController {

    @Autowired
    private INewsCategoryService newscategoryService;


     /**
     * 新闻分类管理 列表页面
     * @return
     */
     @GetMapping("/list")
     public String list(){
        return "admin/newscategory/list";
      }

      /**
     * 新闻分类管理 添加页面
     * @return
      */
      @GetMapping("/add")
      public String add(Long id,ModelMap modelMap){
          modelMap.put("id",id);
          return "admin/newscategory/add";
      }


	/**
	 * 新闻分类管理 列表查询
	 * @path : /api/newscategory/list
     * @method: findNewsCategorys
     * @param : newscategoryVo
     * @result : IPage<NewsCategory>
	 * 创建人:yykk
	 * 创建时间：2021年09月15日 16:03:03
	 * @version 1.0.0
	*/
    @PostMapping("/load")
    @ResponseBody
    public IPage<NewsCategory> findNewsCategorys(@RequestBody NewsCategoryVo newscategoryVo) {
        return newscategoryService.findNewsCategoryPage(newscategoryVo);
    }


    /**
     * 新闻分类管理 查询明细
     * @method: get/{id}
     * @path : /api/newscategory/get/{id}
     * @param : id
     * @result : NewsCategory
     * 创建人:yykk
     * 创建时间：2021年09月15日 16:03:03
     * @version 1.0.0
    */
    @GetMapping("/get/{id}")
    @ResponseBody
    public NewsCategory getNewsCategoryById(@PathVariable("id") String id) {
        if(StringUtils.isEmpty(id)){
            throw new ValidationException(300,"id不允许为空!");
        }
        return newscategoryService.getNewsCategoryById(new Long(id));
    }


	/**
	 * 新闻分类管理 保存&修改
     * @method: saveupdate
	 * @path : /api/newscategory/save
     * @param : newscategory
     * @result : NewsCategory
	 * 创建人:yykk
	 * 创建时间：2021年09月15日 16:03:03
	 * @version 1.0.0
	*/
    @PostMapping("/saveupdate")
    @ResponseBody
    public NewsCategory saveupdateNewsCategory(@RequestBody NewsCategory newscategory) {
        return newscategoryService.saveupdateNewsCategory(newscategory);
    }


    /**
	 * 新闻分类管理 刪除
     * @method: delete/{id}
     * @path : /api/newscategory/delete/{id}
     * @param : id
     * @result : int
	 * 创建人:yykk
	 * 创建时间：2021年09月15日 16:03:03
	 * @version 1.0.0
	*/
    @PostMapping("/delete/{id}")
    @ResponseBody
    public int deleteNewsCategoryById(@PathVariable("id") String id) {
        if(StringUtils.isEmpty(id)){
            throw new ValidationException(300,"id不允许为空!");
        }
        return newscategoryService.deleteNewsCategoryById(new Long(id));
    }
}